home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1994-03-03 | 55.7 KB | 1,595 lines
Path: bloom-beacon.mit.edu!hookup!swrinde!ihnp4.ucsd.edu!agate!con.Berkeley.EDU!latta From: latta@xcf.berkeley.edu (Craig R. Latta) Newsgroups: comp.lang.smalltalk,news.answers,comp.answers Subject: Smalltalk Frequently-Asked Questions (FAQ) Followup-To: poster Date: 3 Mar 1994 05:46:58 GMT Organization: University of California, Berkeley Lines: 1573 Approved: news-answers-request@MIT.Edu Distribution: world Expires: 22 Mar 1994 05:46:45 GMT Message-ID: <smalltalk-faq_762673605@xcf.berkeley.edu> Reply-To: smalltalk@xcf.berkeley.edu NNTP-Posting-Host: con.berkeley.edu Summary: This posting contains a list of frequently-asked questions (and their answers) about the Smalltalk programming language and environment. It should be read by posters to comp.lang.smalltalk. Originator: latta@con.Berkeley.EDU Xref: bloom-beacon.mit.edu comp.lang.smalltalk:6580 news.answers:15967 comp.answers:4007 Archive-name: smalltalk-faq Last-modified: 1994/2/21 Version: 3.7 *** This is a Smalltalk frequently-asked-questions (FAQ) document, distributed by Craig Latta <Craig.Latta@NetJam.ORG>. It is (ostensibly) posted fortnightly to the USENET newsgroups comp.lang.smalltalk and news.answers. It is also available via FTP as anonymous@XCF.berkeley.EDU:misc/smalltalk/FAQ/SmalltalkFAQ. Finally, it can be obtained by mail by emailing Smalltalk-request@xcf with the subject line "request for FAQ". The machine XCF.Berkeley.EDU has IP address 128.32.138.1. Please send contributions, suggestions and comments to Smalltalk-request@XCF.Berkeley.EDU. They are greatly appreciated. I realize that information has a short half-life. Obviously (to me, anyway), it╣s silly to force a structured document like this one to exist as a flat text stream. In the medium term, I╣m in the midst of redoing this document as hypertext (suitable for serving via the World Wide Web), and implementing a Smalltalk interface for editing and reading it in the long term. Offers of assistance are welcome. Thanks, -C *** New items are marked with a '+'. Modified existing items are marked with a '*'. Contents: 0.0) [Meta-issues] 0.1) How can I browse ftp sites and their data without using my own disk space (unless I want to keep data), and locate files on ftp sites, given pathname fragments? 0.2)* Is comp.lang.smalltalk archived or available via email? 1.0) [Archival] 1.1) What free or low-cost Smalltalk implementations are there? How can I get GNU Smalltalk? 1.2) What Smalltalk archives are there? 2.0) [Projects] 2.1) What is Smallmusic? 2.2) What is CoolDraw? 2.3)+ What is SmallDraw? 2.4)+ What work is being done with neural nets in Smalltalk? 3.0) [References] 3.1) Can someone recommend a good introduction to Model-View-Controller concepts? 3.2) Is there a Smalltalk bibliography? 3.3) What are the "blue book", "purple book", etc? 3.4) Who are some employers of Smalltalk programmers? 3.5) What is the Smalltalk Report? 3.6) Is there a GNU Smalltalk tutorial? 3.7) What's a summary of multiple inheritance in Smalltalk? 3.8) What's the status of the ANSI Smalltalk standardization effort? 3.9) Have there been any studies done on performance differences between complete C++/Smalltalk (specifically ObjectWorks\Smalltalk) applications in terms of runtime and space consumption? 3.10)+ Where can I learn about the history of Smalltalk? 3.11)+ How can I get the Smalltalk Resource Guide? 4.0) [Programming issues] 4.1) What are some "classic Smalltalk bugs", both in the system and programmer domains? 4.2)+ How do I use Pool dictionaries? 4.3)+ When browsing sources, I see │t1▓, │t2▓, etc., instead of semantically relevant variable names. What╣s going on? 4.4)+ What happened to >>deepCopy in ParcPlace Smalltalk? 5.0) ["Vendor"-specific issues] 5.1) How compatible is GNU Smalltalk with Smalltalk-80 (or Smalltalk/V)? 5.2) How do I contact the producers of various Smalltalk implementations? 5.3)+ How can I get information about HP distributed Smalltalk? 6.0) [Smalltalk implementation issues] 6.1) Is Smalltalk interpreted or compiled? --- 0.0) [Meta-issues] --- 0.1) How can I browse ftp sites and their data without using my own disk space (unless I want to keep data), and locate files on ftp sites, given pathname fragments? Answer: This question might seem tangential at first (and I suppose it is). But it is vitally important, as resources such as papers, documentation, code and software tools become more numerous and distributed. There is a set of Emacs-Lisp ("elisp") code, called "ange-ftp.el", which makes 'ftp' use transparent within GNU Emacs (GNU Emacs is available via anonymous ftp from prep.ai.mit.edu). This package attempts to make accessing files and directories using FTP from within GNU Emacs as simple and transparent as possible. A subset of the common file-handling routines are extended to interact with FTP. Using these routines, one is able to access remote files and one would any other local file, without having to write it locally to disk. The result is an immense virtual global filesystem. The routines are available via anonymous ftp (naturally!) as tut.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/as-is/ange-ftp.tar.Z, (incidentally, if you already had "ange-ftp.el", you could paste the above line in response to Emacs' 'copy-file', stick "/anonyous@" in front of it, and copy the file.) My current version is dated 22 October 1991. Another useful bit of elisp is "saveconf.el". It saves the Emacs buffer list and window configuration between editing sessions. So, one can have several buffers, with several files open (as I usually do), quit and restart Emacs, and have the state preserved, cursor locations and windows included. Happily, it works well with "ange-ftp.el", so that even remote files are restored (after possibly having to prompt for passwords). "context.el" is also available via anonymous ftp from cis.ohio-state.edu, as pub/gnu/emacs/elisp-archive/saveconf.el.Z. Also look for "tree-dired.el" which provides for hierarchical directory editing. Incidentally, it was very easy to produce references for the above tools, thanks to another tool called "archie", developed at McGill University. Dubbed a "resource discovery tool" by its authors, it comes in very handy when one knows what tools are needed but not their availability. Archie consists of a server for this information (basically from a database of directory trees from "all known" anonymous ftp sites, updated once per month), and a client, which may be run via 'telnet' from the server machine itself (frowned upon...), or from a standalone client available from that machine (...highly encouraged, for the considerable host load win). Some clients even perform ftp tasks based on user response to search results. There are clients available for dumb and X terminals as well as for (of course) Emacs. Poke around archie.mcgill.ca for a client and documentation. Adapting these tools (or at least new interfaces to them) for Smalltalk would make for several great projects. I'm working on it in my spare time. I'd love to hear from any interested people. -Craig --- 0.2) Is comp.lang.smalltalk archived or available via email? Answer: Yes: Info-CLS (formerly Smalk) is a mailing list which is bidirectionally gatewayed with comp.lang.smalltalk (via NETNEWS@AUVM.BitNet). Every posting to c.l.s (with distribution options USA or world) gets distributed to all subscribers of Info-CLS, and vice versa every mailing to Info-CLS gets posted to c.l.s. There is a mailarchive associated with this list, i.e. every posting/mailing gets archived and can be keyword searched by e-mail. In order to search the archive, which started somewhere around September '92, send a mail message to LISTSERV@vm.gmd.de containing something like: -----------------------------------cut here---- // Database Search DD=Rules //Rules DD * Search type & checking in INFO-CLS index print /* -----------------------------------and here---- as the body part of the message. On details for more finegrained retrievals, read the doc which is obtainable by sending GET LISTDB MEMO as the body part of a mail message to the listserv. In order to get subscribed, send a mail message to the listserv, containing SUBSCRIBE Info-CLS Your I. Name or drop me a note. I want to add that I'm in the middle of preparing about another years postings for upload (91-92), and am interested in further private loggings for upload. The archive is also available via gopher, but unfortunately only as monthly chunks - which taaakes aaa looong tiiime to retrieve them. I haven't succeeded yet in convincing the staff at vm.gmd.de to install software which can make single postings available by subject. On my wishlist is a system written in (GNU) Smalltalk, accessible via TCP/IP, representing some kind of 'remote dictionary'. But that's far in the clouds. -j|g (Joerg Rade jrade1@gwdg.de) --- 1.0) [Archival] --- 1.1) What free or low-cost Smalltalk implementations are there? How can I get GNU Smalltalk? Answer: GNU Smalltalk is free. The most current location, to my knowledge, is anonymous@prep.ai.mit.edu:pub/gnu/smalltalk-1.1.1.tar.Z. Please direct problems to the author, Steven Byrne, at sbb@eng.sun.com. Little Smalltalk, by Timothy Budd, is available as a book and sources, at bookstores. It is also available as anonymous@cs.dal.ca:pub/comp.archives/little-smalltalk. --- 1.2) What Smalltalk archives are there? Answer: There are many. Most of them simply archive GNU smalltalk, but there are also a few large archives containing many interesting and varied sources. All of the sites may be retrieved by invoking 'archie smalltalk' (see above reference to 'archie'). For convenience, descriptions of a few of the archives follow. If you have a site/announcement you'd like included, please let me know. ** Location: anonymous@xcf.berkeley.edu:misc/smalltalk Summary: Smalltalk FAQ, smallmusic discussion archive. ** Host: mushroom.cs.man.ac.uk Summary: The Manchester Smalltalk archive. Information about it is posted regularly to comp.lang.smalltalk. ** Document: anonymous@st.cs.uiuc.edu:pub/Index Summary: Information about the UIUC Smalltalk archive (which has local files and a mirror of the Manchester archive). ** Document: anonymous@ccrma-ftp.stanford.edu:pub/st80/README Summary: Information about various Smalltalk-related offerings, including the Musical Object Development Environment (MODE). --- 2.0) [Projects] --- 2.1) What is Smallmusic? Answer: A work group has formed to discuss and develop an object-oriented software system for music. The current environment is Smalltalk 80. The email address for the group is smallmusic@xcf.Berkeley.EDU. If you are interested in joining the discussion, email smallmusic-request@xcf.Berkeley.EDU, with the subject line "add me". The abstract and outline to a recent version of our working paper follows. The document is available via ftp as anonymous@ccrma-ftp.stanford.edu:pub/st80/OOMR6.t. Thanks, Craig Latta latta@xcf.Berkeley.EDU *** Abstract to the working document This document describes an object-oriented description language for musical parameters, events and structures known as the Smallmusic Object Kernel (SmOKe) . In object-oriented software terms, the representation is described in terms of software class hierarchies of objects that share state and behavior and implement the description language as their protocol. The authors believe this representation, and its proposed linear ASCII description in Smalltalk-80 syntax, to be well-suited as a basis for: (1) concrete description languages in other languages, (2) specially-designed binary storage and interchange formats, and (3) use within and between interactive multi-media, hypermedia applications in several application domains. There is an article about an environment implementing SmOKe, called the Musical Object Development Environment (MODE), in the Computer Music Journal, volume 16 number 3. There's an "outrageously sexy" screen shot of the MODE on the cover. --- 2.2) What is CoolDraw? Answer: Newsgroups: comp.lang.smalltalk From: bnfb@csr.uucp (Bjorn Freeman-Benson) Subject: CoolDraw - HotDraw with Constraints (or ThingLab: The Next Generation) Organization: University of Victoria, Victoria, BC, Canada Date: Tue, 6 Apr 93 05:15:29 GMT A while back I saw a query in this group about updated version of ThingLab. Well, I'm happy to announce that although the name has changed, the philosophy is the same, and CoolDraw is now available via anonymous FTP. Here is the READ.ME: CoolDraw Release 3 Documentation 5-Apr-93 I. What is CoolDraw? CoolDraw is a constraint-based object-oriented drawing framework. CoolDraw is similar to other MacDraw-like packages with one major exception: everything in CoolDraw is done with constraints. The user interface is done with constraints. Constraints can be added between figures. Even the constraint debugger (a future feature) will be done with constraints. The total integration of constraints makes it "pretty darn cool". The system is written in ParcPlace Smalltalk-80 release 4.1. CoolDraw is similar to other systems such as IntelliDraw, Chimera, and Briar. Also note that CoolDraw is a technology demonstration and research tool -- not a fully debugged product. Occasionally it requires some loving care. And, quite naturally, it has some unimplemented features. II. How do I use it? Open a CoolDrawingEditor using the "open" message. On the left is a tool palette. The top tools are the usual drawing tools: selection, move to front, move to back, erase, etc. The middle tools are figure creation tools: line, rectangle, ellipse, and so on. The bottom four tools are the constraint creation and deletion tools: three for creation (one variable, two variable, and three variable constraints) and one for deletion. While you automatically use constraints by just creating figures and moving them around on the screen (because the entire system uses constraints internally), if you want to create explicit constraints, you have to use one of the tools. The cursor of the tool changes to indicate how many figures have been selected and when enough are selected a dialog box appears with a standard selection of constraints. If you want some other constraint, then press the "Custom" button and a second dialog box offering a complete selection of constraints will appear. When the constraint deletion tool is clicked on a figure, it offers a list of all the explicit constraints attached to that figure. Any number can be selected and deleted at once. III. How do I get it? Anonymous FTP from ursamajor.uvic.ca in ~ftp/ursa/constraints/CoolDraw There are two options. Get the image: cooldraw.image.tar.Z or get the source code: cooldraw.source.tar.Z IV. What are the bugs? Numerous. The major flaws are that the constraint system is not currently powerful enough to solve cycles or simultaneous equations, and that there is not a large selection of figures. Minor ones include that the three constraint tool is not implemented. The most noticable un-bug is that the constraints do not always do what you expect. This is a well-known problem is constraint research and has no known solution short of a mind-reading computer. The constraint hierarchies that CoolDraw uses can help, and future versions will have more default weak constraints to create "expected" behavior. V. What are the future plans? We intend to continue work on three fronts: (1) fix the details (make more figures available; fix the dialog boxes; provide a wider assortment of built-in constraints; implement the three constraint tool; etc.); (2) improve the constraint solver to deal with more complex constraints yet retain its efficiency; (3) add other cool things such as constraint debugging tools, animation, etc. VI. What else should I know? Without explicitly inspecting the drawing, there is no access to the internal consistency constraints of the figures. VIII. Credits and Copyright See the startup screen. The CoolDraw code is copyright 1993 by Bjorn N. Freeman-Benson, and its commercial use is restricted. For information about the HotDraw or SkyBlue code, contact the respective authors: Ralph Johnson and Michael Sannella. Naturally, we would be happy to hear from anyone who uses, plays around with, or just looks at the system. Regards, Bjorn N. Freeman-Benson --- 2.3) What is SmallDraw? From: benson@siemens.siemens.com (Dan Benson) Subject: SmallDraw for VisualWorks Organization: Siemens Corporate Research, Inc Date: Tue, 29 Jun 1993 18:37:28 GMT I recently submitted a version of SmallDraw that now runs under VisualWorks to the Illinois archive. It's availabe via anonymous ftp at: st.cs.uiuc.edu as /pub/st80_vw/SmallDraw.VW SmallDraw is a very simple structured graphics editor that was originally written to run under Release 4.0. I wrote a series of three articles for The Smalltalk Report last year in which I used the SmallDraw application to illustrate Release 4 graphics and MVC construction. The modifications to SmallDraw to make it run under VisualWorks were made by David Arctur (arctur@djembe.geoplan.ufl.edu). Thank you David! Dan Benson Siemens Corporate Research, Inc. (609) 734-3668 755 College Road East dbenson@scr.siemens.com Princeton, NJ 08540 --- 2.4)+ What work is being done with neural nets in Smalltalk? From: rvl@tomcat1.tomcat.de ( GF) Newsgroups: comp.ai.neural-nets,comp.lang.smalltalk Date: 3 Nov 93 10:25:15 GMT Organization: TOMCAT, Germering, Germany There exists one small implementation of "The simple Neural Network for taught Samples Distinguishing", which has been realised at Technical University in Prague (CVUT) supported by Tomcat. This first version is implemented in ST/V, and will be ported to ST/X in the next future. For more information the best way is to contact us (with your address), we will send you some papers..., or to contact the CVUT directly via eMail: muller@sclab.felk.cvut.cz Dr. Mueller kolar@cslab.felk.cvut.cz Dr. Kolar (both are Docs at the university and co-owners of FELTECH ltd. specialised in OO-Technology) Richard. Tomcat computer GmbH Richard v. Lavante Fruehlingstr. 4 D-82110 Germering bei Muenchen Germany eMail rvl@tomcat.de Tel. +49-89-84 99 92 Fax. +49-89-84 95 44 --- 3.0) [References] --- 3.1) Can someone recommend a good introduction to Model-View-Controller concepts? Answer: From: ege@blitz.fiu.edu (Dr. Raimund K. Ege) Newsgroups: comp.lang.smalltalk Subject: Re: MVC -- good introductions? Date: 8 Mar 92 18:26:40 GMT Organization: Florida International Univ. Look at Chapter 10 in the following book that just came out: Programming in an Object-Oriented Environment, by Raimund K. Ege Academic Press, Inc., San Diego, CA, 1992, hardcover, ISBN 0-12-232930-9 To order call 1-800-321-5068. (also: Academic Press Limited, London, United Kingdom) It presents a complete and thorough introduction to all object-oriented concepts. It contains a large example/case study, and a comparison of major OO programming languages. In addition, the book extends the object-oriented view to all elements of the programming environment: data structures and algorithms, programming tools, user interfaces, data bases and software design. Chapter 10 is on user interfaces: it describes and illustrates the Smalltalk MVC paradigm (also: InterViews) -- Raimund K. Ege School of Computer Science Florida Int'l University ege@scs.fiu.edu (305) 348-3381 University Park ege@servax.bitnet FAX (305) 348-3549 Miami, FL 33199 ** From: asmundvn@dcs.glasgow.ac.uk (Nils Erik Asmundvaag) Newsgroups: comp.lang.smalltalk Subject: Re: MVC -- good introductions? Date: 11 Mar 92 10:56:38 GMT Organization: Glasgow University Computing Science Dept. The book Smalltalk-80: A Practical Introduction (ISBN 0-273-03105-8) by Philip D. Gray & Ramzan Mohamed, 1990 and published by Pitman (at least in the UK) contains two chapters on interactive applications and the MVC. I found it very helpful when first learning about the MVC. Nils E. Asmundvaag -- ------------------------------------------------------------------------------- Nils Erik Asmundvaag University of Glasgow, Scotland asmundvn@dcs.glasgow.ac.uk asmundvn@uk.ac.glasgow.dcs ** From: bruce@utafll.uta.edu (Bruce Samuelson) Newsgroups: comp.lang.smalltalk Subject: Re: how are st80 views and controllers used? Date: 12 Mar 92 14:12:48 GMT Organization: UTexas at Arlington, Linguistics There are two papers on MVC that provide an introductory overview of the pre-version 4.0 ST80 scheme. Much of what's in them also applies to version 4.0. I understand that one of PPS's priorities in the forthcoming version 4.1 will be improved documentation. We'll see how well they explain the new windowing scheme launched in version 4.0. It would certainly be helpful to get an overview of what's going on before plunging into the source code of the myriad new classes. (1) A Cookbook for using the Model-View-Controller User Interface Paradigm in Smalltalk-80 by Glenn E. Krasner and Stephen T. Pope, Journal of Object-Oriented Programming, volume 1 number 3, pp. 26-49, 1988 (2) Applications Programming in Smalltalk-80: How to Use Model-View-Controller (MVC) by Steve Burbeck, Softsmarts, Inc., copyright 1987. The second paper is probably no longer available. I think Softsmarts is the company that used to sell a version of Smalltalk for 80286 machines but went out of business some years ago. The phone number on the paper is listed as 415-327-8100 (Palo Alto, California). You may try asking ParcPlace (or, less likely, Digitalk) if they have copies of Burbeck's paper. -- ********************************************************** * Bruce Samuelson Department of Linguistics * * bruce@ling.uta.edu University of Texas at Arlington * ********************************************************** --- 3.2) Is there a Smalltalk bibliography? Answer: There are many... here is one: From: schultz@grebyn.com (Ronald Schultz) Newsgroups: comp.lang.smalltalk Subject: Smalltalk Relevant Texts Date: 10 Jan 92 16:08:05 GMT Organization: Grebyn Timesharing A list of Smalltalk-relevant texts. Retrieved from the Digitalk forum on Compuserve. If you know of any additional texts, please let me know. Thanx. ========================================================================== Ron Schultz Berard Software Engineering, Inc. Columbus Ohio Office Headquarters 5634 Claire Court 301 Lakeforest Drive Dublin, Ohio 43017 Gaithersburg, Md. 20877 Phone (614) 798-0295 (301) 417-9885 FAX (614) 798-0296 (301) 417-0021 ========================================================================= Smalltalk 80 The Language, Adele Goldberg & David Robson Addison-Wesley 1989 ISBN 0-201-13688-0 Smalltalk 80 The Interactive Programming Environment, Adele Goldberg Addison Wesley 1984 ISBN 0-201-11372-4 Smalltalk 80 Bits of History, Words of Advice , Glenn Krasner Addison Wesley 1984 ISBN 0-201-11669-3 Inside Smalltalk Volume I, Wilf Lalonde & John Pugh Prentice Hall 1991 ISBN 0-13-468414-1 Inside Smalltalk Volume II, Wilf Lalonde & John Pugh Prentice Hall 1991 ISBN 0-13-465964-3 Object-Oriented Graphics, P. Wisskirchen Springer-Verlag 1990 ISBN 3-540-52859-8 Practical Smalltalk: Using Smalltalk/V, Dan Shafer and Dean A. Ritz. Springer-Verlag ISBN 0-387-97394-X Rapid Prototyping for Object Oriented Systems, Mark Mullen Addison Wesley 1990 ISBN 0-201-55024-5 Object-Oriented Design, Peter Coad and Ed Yourdon Yourdon Press 1991 ISBN 0-13-630070-7 Object Oriented Programming for Artificial Intelligence, Ernest Tello Addison Wesley 1989 ISBN 0-201-09228-x The Well Tempered Object, Stephen Travis Pope MIT Press 1991 ISBN 0-262-16126-5 RefTalk/Vwin, David Carl O'Neal NuVista Press 1991 ISBN pending Human-Computer Interface Design Guidelines, C. Marlin Brown Ablex Publishing 1989 ISBN 0-89391-332-4 Designing Object-Oriented Software, Rebecca Wirfs-Brock, Brian Wilkerson, and Lauren Wiener Prentice-Hall 1990 ISBN 0-13-629825-7 Object Oriented Programming with Smalltalk/V, Dusko Savic Ellis Horwood 1990 ISBN 0-13-040692-9 An Introduction to Object Oriented Programming & Smalltalk Lewis Pinson & Richard Wiener Addison Wesley 1988 ISBN 0-201-19127-x SAA Common User Access Advanced Interface Design Guide IBM 1989 IBM Document # SC26-4582-0 IBM Red Books----(available from your IBM representative contact your local office of IBM and request the placing of an IBM Red Book Order. If you are an IBM customer, the books are free. If you are not an IBM customer, the books may have a nominal fee.)---- A Practical Introduction to Object Oriented Programming IBM 1990 IBM Document # GG24-3641 Object Oriented Design - A preliminary Approach IBM 1990 IBM Document # GG24-3647 Developing a CUA Workplace Application IBM 1990 IBM Document # GG24-3580-00 Managing the Development of Object Oriented Applications IBM 1990 IBM Document # GG24-3581-00 Object Oriented Analysis of the ITSO Common Scenario IBM 1990 IBM Document # GG24-3566 CUA Evaluation IBM 1990 IBM Document # GG24-3456 SAA CUA '91 Guide IBM 1991 IBM Document # SC34-4289 SAA CUA '91 Reference IBM 1991 IBM Document # SC34-4290 SAA - A Guide for Evaluating Applications IBM 1991 IBM Document # G320-9803 --- 3.3) What are the "blue book", "purple book", etc? Answer: Date: Wed, 11 Nov 92 12:52:39 PST From: khaw@parcplace.com (Mike Khaw) blue Goldberg, Adele, and David Robson, _Smalltalk-80: The Language and Its Implementation_, Addison-Wesley, 1983. ISBN 0-201-11371-6. *Out of print* orange Goldberg, Adele, _Smalltalk-80: the Interactive Programming Environment_, Addison-Wesley, 1984. ISBN 0-201-11372-4. green Krasner, Glenn, ed., _Smalltalk-80: Bits of History, Words of Advice_, Addison-Wesley, 1983, ISBN 0-201-11669-3 purple Goldberg, Adele, and David Robson, _Smalltalk-80: The Language_, Addison-Wesley, 1989, ISBN 0-201-13688-0 The books are actually cream or tan. The color referred to is the color used as the background of the illustration on the front cover (as well as for the Addison-Wesley logo on the spine). The purple book is an update/revision of the blue book, with the section on the abstract bytecode machine omitted (because it was out of date, according to Adele). ---------- Mike --- 3.4) Who are some employers of Smalltalk programmers? Answer: From: johnson@m.cs.uiuc.edu (Ralph Johnson) Newsgroups: comp.lang.smalltalk Subject: Smalltalk employers file Date: 18 Sep 92 16:32:43 GMT Organization: University of Illinois, Dept. of Comp. Sci., Urbana, IL I've noticed a rash of job offers here (I approve of them) and decided that I should distribute my list of companies hiring Smalltalkers. I have collected this over the years and give it to my students. However, the size of the list is significantly greater than the number of my students, so I decided to make it public. I would be happy to add entries, remove entries, or make other changes to it. If you are an employer then you might want to take a look at it to see whether you like what I say about you, and let me know if you don't. I'll change it, though I like *short* entries and have shortened almost everything in here. The file is in the Smalltalk archive in /st-docs/smalltalk-jobs. You can ftp it from st.cs.uiuc.edu or you can use the e-mail archive server (see the recent FAQ). Europeans note that this will automatically show up in the Manchester archive in a day or so. -Ralph Johnson --- 3.5) What is the Smalltalk Report? From: mst@vexpert.dbai.tuwien.ac.at (Markus Stumptner) Newsgroups: comp.lang.smalltalk Subject: Opinions on Smalltalk Report (Summary) Date: 12 Feb 93 11:34:32 GMT Organization: DB and ES Subdivision, TU Vienna Ok, here are the comments I received about the Smalltalk Report. While the sample base is quite small, the response seems overwhelmingly favorable. Thanks to all who responded. Markus --------------------------------------------------------------------- I have subscribed since the first issue and I find it to be an excellent combination of theoretical and practical articles. John Pugh (of LaLonde and Pugh) is the editor. On the other hand, I will warn you to expect subscription headaches with SIGS Publications. They are probably the worst I've ever dealt with and our technical librarian agrees. They are barely capable of processing a renewal let alone a new subscription or problem. --------------------------------------------------------------------- We subscribe, last issue was about 20 pages, 2 articles, 3 columns. I would call it a must read publication. --------------------------------------------------------------------- I think its pretty good. (But then I should mention, I write for it!) It tends toward intermediate, with lots of practical tips and examples. --------------------------------------------------------------------- (This was not an answer to my question, but I include it for completeness.) It is a journal published 9 times per year. Cost in US is $69. Editor with whom I deal is Paul White (white@scs.carleton.ca). The Smalltalk Report, Subscribers Services, Dept. SML, PO Box 3000, Denville, NJ 07834-9821. --------------------------------------------------------------------- -- Markus Stumptner mst@vexpert.dbai.tuwien.ac.at University of Technology Vienna vexpert!mst@relay.eu.net Paniglg. 16, A-1040 Vienna, Austria ...mcsun!vexpert!mst Newsgroups: comp.lang.smalltalk From: knight@mrco.carleton.ca (Alan Knight) Subject: Re: Smalltalk Report Organization: Carleton University Date: Mon, 15 Feb 1993 22:30:55 GMT The Smalltalk report Subscriber Services Dept SML PO Box 3000 Denville NJ USA 07834-9821 FAX 212 274 0646 ISSN 1056-7976 US$69/year in e US US$94/year outside the US --- 3.6) Is there a GNU Smalltalk tutorial? Answer: Yes. From: sbb@laplace.Eng.Sun.COM (Steve Byrne) Date: 28 Feb 1993 03:00:10 GMT Organization: Sun Microsystems Inc., Mountain View, CA Andy Valencia has very graciously provided an extended tutorial document describing the Smalltalk language with respect to GNU Smalltalk. It covers a wide variety of topics, and provides a general introduction to object oriented programming concepts. You may FTP a copy from the usual GNU locations in a few days (after it has propagated). Currently, it may be found at: prep.ai.mit.edu: pub/gnu/smalltalk-tutorial.ps.gz (PostScript) -or- prep.ai.mit.edu: pub/gnu/smalltalk-tutorial.txt.gz (ASCII) Check it out -- this looks really good! Steve -- 3.7) What's a summary of multiple inheritance in Smalltalk? Answer: From: mario@cs.man.ac.uk (Mario Wolczko) Newsgroups: comp.lang.smalltalk Subject: Re: Multiple Inheritance in Smalltalk?? Date: 20 Apr 93 12:40:27 GMT Organization: Dept Computer Science, University of Manchester, U.K. In article <1qua3qINN9t1@umbc8.umbc.edu>, cs331106@umbc.edu (cs331106) writes: > > I have been researching the smalltalk language, and have found > conflicting reports as to whether or not smalltalk is a single > or multiple inheritance style language. Any answer would be > appreciated! Yes and no, mostly no. The initial versions of Smalltalk did not have multiple inheritance. An MI scheme, written entirely in Smalltalk (ie not requiring any virtual machine support), was subsequently added. It is described in @inproceedings{BorningIngalls82:multipleinheritance, author = "A. H. Borning and D. H. H. Ingalls", address = "Pittsburgh, PA", year = 1982, booktitle = "Proceedings of National Conference on Artificial Intelligence", pages = "234-237", title = "Multiple inheritance in {S}malltalk-80" } This was shipped as part of the Smalltalk-80 virtual image, at least from version 2.0 (the first "public" release, I believe), through 2.3. It was removed in 2.4 (or possibly 2.5). There were several technical problems with the implementation, and it didn't look like anyone was really using it anyway. It was never thoroughly integrated into the system (eg browsers and other tools). Mario Wolczko ______ Dept. of Computer Science Internet: mario@cs.man.ac.uk /~ ~\ The University uucp: mcsun!uknet!man.cs!mario ( __ ) Manchester M13 9PL JANET: mario@uk.ac.man.cs `-': :`-' U.K. Tel: +44-61-275 6146 (FAX: 6236) ____; ;_____________the mushroom project___________________________________ --- 3.8) What's the status of the ANSI Smalltalk standardization effort? Answer: [Here are the minutes from the the first ANSI Smalltalk meeting. Unless available elsewise, I'll archive future ANSI Smalltalk materials I come across on XCF.Berkeley.EDU, separately. --crl] From: DENATALE@CARVM3.VNET.IBM.COM (Rick DeNatale) Date: Tue, 6 Jul 93 15:17:30 EDT Newsgroups: comp.lang.smalltalk Subject: Minutes of X3J20, Smalltalk X3J20, Programming Language: Smalltalk held its organizational meeting at CBEMA headquarters, Washington D.C. on June 21, 1993. 1.0 The meeting was convened at 10:00 a.m. Yen-Ping Shan of IBM acted as meeting chairman. 2.0 Attending were (listed in alphabetical order by Company): Aladdin Enterprises L. Peter Deutsch email: lpd@aladdin.com Andersen Consulting Roy Underwood runder@apg.andersen.com Chris Frye (Alternate) Beckman Software Engineering Mel Beckman mbeckman@mbeckman.com Digitalk Allen Wirfs-Brock allen@digitalk.com George Bosworth (Alternate) george@digitalk.com Easel Corporation Chris Norman cnorman@easelcor.mhs.compuserve.com International Business Machines Corporation Yen-Ping Shan shan@carvm3.vnet.ibm.com Rick DeNatale (Alternate) denatale@carvm3.vnet.ibm.com Knowledge Systems Corporation Jay Casler Object Technology International Brian Barry brian@oti.on.ca ParcPlace Systems Glenn Krasner krasner@parcplace.com Richard Dym (Alternate) Pillar Systems Seyho Chang seyho@netcom.com Patti Dock (Alternate) 76460.3463@compuserve.com Quasar Knowledge Systems David Simmons David_Simmons@qks.com Servio Corp. Bruce Schuchardt bruce@slc.com U.S. Geological Survey Jim Fulton jfulton@qvarsa.er.usgs.gov Bob Follett Chairman of JTC1/SC22 attended the meeting as an observer and guide to X3. 3.0 Agenda Peter Deutsch wished to add a discussion of a proposed language standard which was developed in 1987 in addition to the scheduled discussion of the Common Base document (X3J20/93-003). Peter submitted a copy of this document which was copied and distributed as document X3J20/93-004. Peter then said that there were many issues to deal with in setting the goals and scope of a Smalltalk standard including: level of formality; relationship to existing/proposed implementations; coverage; standardization time-frame; consolidation vs. innovation. It was generally agreed to add a discussion of goals before discussion of proposals for a base document. The resulting agenda is given at the end of these minutes. Jay Casler moved to approve the agenda as modified, Dave Simmons seconded and it was unanimously agreed. 4.0 Kate McMillan then gave an X3 overview. 5.0 Review of Project Proposal The general discussion turned around what level was appropriate for a Smalltalk Standard. There was a discussion of the various potential business and technical goals, which vary for users and implementors of the language. Various positions of conservatism vs. radicalism are possible with regards to many issues such as multiple inheritance, scoping of block arguments or concurrency. There is a trade-off between the speed of standardization and the scope of the standard. It was decided that members would prepare position papers on the scope and goals for X3J20 which would cover issues including: Technical and Business goals Project Scope Proposals for detailed work plan Dimensions to be considered, e.g.: Methods/rigor of specification Implementations vs. Language Features Can the Standard be factored into parts,and what are the dependencies. This was accepted without objection. Mel Beckman volunteered to act as a consolidator and to prepare a report on the positions to serve as a focus for discussion at the next meeting. Bruce Schuchardt, volunteered to set up a mail reflector so that everyone will see position papers as they are developed and can comment on the positions. Members are encouraged to develop their positions interactively (sort of a delphi process). Mel will base his consolidation on positions submitted by August 15, 1993. The consolidation report will be distributed by October 5th 1993. 6.0 Organizational Matters It was agreed that, pending the result of the call for volunteers, Yen-Ping Shan would continue as acting chairman. Glenn Krasner volunteered as acting vice-chairman, and Rick DeNatale volunteered as acting Secretary. 7.0 Technical Discussion and Development of Work Plan It was unanimously agreed to defer agenda item 7 until the review of positions on the goal and scope of X3J20 has been completed. 8.0 Meeting Schedule The following schedule for future meetings was agreed: October 19-21 Sunnyvale, California, host ParcPlace. February 1994 RTP NC, hosts: IBM and Knowledge Systems June 1994, Portland Or. host Digitalk October 1994, Chicago Ill. host Arthur Anderson ParcPlace agreed to make machines available at the next meeting so that different Smalltalk implementations can be viewed. Glenn Krasner will be the contact for machine requirements. 9.0 Review of Action Items 10.0 Adjournment Peter Deutsch moved to adjourn the meeting. It was passed without objection and the meeting adjourned at approximately 4:00 p.m. Approved Agenda 1. Opening 2. Introductions 3. Approval of the agenda (X3J20/93-001) 4. X3 Overview 5. Review of Project Proposal (X3J20/93-0015R) Discussion of Goals and Scope 6. Organizational Matters 7. Technical Discussion and development of work plan 7.1 Proposed 1987 Smalltalk Language Specification (X3J20/93-004) 7.2 Common Base Specification (X3J20/93-003) 7.3 Time table for milestones 8. Future Meetings (schedule and hosts) 9. Review of action items 10. Adjournment Rick DeNatale --- 3.9)+ Have there been any studies done on performance differences between complete C++/Smalltalk (specifically ObjectWorks\Smalltalk) applications in terms of runtime and space consumption? Answer: See anonymous@xcf.berkeley.edu:misc/smalltalk/performance. --- 3.10)+ Where can I learn about the history of Smalltalk? From: jecel@lsi.usp.br (Jecel Mattos de Assumpcao Jr. (kofuji)) Newsgroups: comp.lang.smalltalk Subject: Re: History of Smalltalk Date: 16 Dec 1993 23:31:22 GMT Organization: Laboratorio de Sistemas Integraveis - USP - Brazil Reply-To: jecel@lsi.usp.br [The History of Programming Languages Conferences are] the best place to find out about Smalltalk history. Here is a more specific reference: -------------------------------------------------------- "The Early History of Smalltalk" Alan C. Kay The Second ACM SIGPLAN History of Programming Languages Conference (HOPL-II) ACM SIGPLAN Notices Vol 28 Number 3 March 1993 pp. 69-75 --------------------------------------------------------- [That issue contains preprints from the conference. It is indeed very good. In it, the editors mention that a book from the conference is forthcoming. It may be out; I haven╣t heard. --crl] > > 8) I've never seen the famous article within the Byte (August-1980) -- > > it was impossible to get information about this article or even the > > article itself. What was the content of this article? It's christmas > > soon: I *really* would like to get a copy of this article :-) > > The entire ISSUE was on Smalltalk. Do you mean to say that none > of your CS libraries have August 80 Byte? Hmm, I'll have to guard > mine very carefully. And I'll see what I can do to brighten your > Christmas! Actually, the August 80 Byte was about Forth. But the August 1981 Byte has been out of print for many years, and is about the only back issue you can't get. They should reprint those articles as a book. I've just lent mine, so this is from memory: - there are some introductory articles and some on the philosophy of the system and object oriented programming. - there are articles about the graphical programming environment ( first look at cut/copy/paste for most people ), the graphic prmitives ( first look at bitblt ) and drawing programs. - the implementation is explained, as is an older version of virtual memory. - there is an excelent article on creating data structures in Smalltalk, as well as one on creating control structures. Jecel --- 3.11)+ How can I get the Smalltalk Resource Guide? Date: Mon, 10 Jan 1994 14:48:58 -0600 From: johnson@cs.uiuc.edu Subject: smalltalk resource guide >Has anyone seen a publication >_Smalltalk Resource Guide_ ? It is published and distributed by Creative Digital Solutions 293 Corbett Avenue San Francisco, CS 94114 415.621.4252 (fax and telephone) 72722.3255@compuserve.com cds.sem@applelink.apple.com The price is $45, and if you use Smalltalk professionally (i.e. if it is worth money to you to know about Smalltalk) then you should get it. I was surprised to see so many packages I didn't know about in it. As they say about themselves: The Smalltalk Resource Guide is the only Smalltalk-specific directory o Smalltalk products and services. it includes products, third-party tools, user groups, electronic resources, distributors, publications, trade shows, professional organizations, and more. It is updated as necessary. -Ralph Johnson --- 4.0) [Programming issues] --- 4.1) What are some "classic Smalltalk bugs", both in the system and programmer domains? Answer: See anonymous@st.cs.uiuc.edu:pub/st-docs/classic-bugs, and the equivalent place on the Manchester archive (see question 1.2 above for details). --- 4.2)+ How do I use Pool dictionaries? [Following is a │tutorial▓ of sorts about Pool dictionaries. --crl] Newsgroups: comp.lang.smalltalk From: steinman@hslrswi.hasler.ascom.ch (Jan Steinman, Bytesmiths) Organization: Bytesmiths, a technical services company Date: Thu, 22 Jul 1993 10:51:14 GMT [Someone] writes: >Firstly I just can't seem to figure out how to define "Pool Dictionaries". They must exist as a global Dictionary first. (Smalltalk includesKey: #MyNewPool) ifFalse: [Smalltalk at: #MyNewPool put: Dictionary new] Since the individual pool variables are actually stored as Associations in the using method's literal array (this is important to remember!), using a Dictionary instead of an IdentityDictionary is needed here. Note the existance test -- if you simply create a new pool Dictionary when one already exists, all the methods that refer to pool variables will continue to refer to the old ones. This causes no end of confusion! Then plop 'MyNewPool' into your class definition. >Also my understanding of Pool Variables is that they have to be "constant" >objects, i.e. objects which do not change values, and you just want to share >them among objects without having to explicitly pass them. Not exactly. As I mentioned, the pool Dictionary Association is what is held. This means that you can change the value of a Pool Variable at will, with any object, as long as you don't replace the Association in the global Dictionary. One source of problems is to declare a pool global as an IdentityDictionary, which doesn't actually store Associations; it makes them up on the fly whenever asked for one. In this case, each user of a pool variable will have a different copy, and changing one will not change the others. Another common problem is forward declarations and file-in. Your global Dictionary and all the keys you will use *must* be declared prior to file-in, or else the filed-in code will refer to Associons in Undeclared, rather than in your global Dictionary. It's possible to swizzle the Association from Undeclared to the proper pool, but it's better to just make sure it exists first. >I have an object called "Blackbaord", and I want other objects in my system to have >access to its current state. These objects not only acess the Blackboard but >also send messages to update the blackboard. This sounds like a simple global to me. Two reasons why you might prefer pools: 1) you want to limit their scope to a defined set of unrelated classes (and their subclasses), or 2) you have more than one object to share, and you don't want to clutter the global name space. Pool variables provide an efficient solution to a whole class of problems, but they are little understood, and poorly supported. The compiler could do a lot of the monkey-business that programmers presently have to manage when they use pool variables. Jan Steinman, Bytesmiths 2002 Parkside Court, West Linn, OR 97068-2767 USA, +1 503 657 7703 Friedlistrasse 19, CH-3006, Bern, Switzerland, +41 31 999 3946 --- 4.3)+ When browsing sources, I see │t1▓, │t2▓, etc., instead of semantically relevant variable names. What╣s going on? From: Arno Breunese <bne%RT.EL.UTWENTE.NL@ibm.gwdg.de> On Oct 4th, [someone] said: > Before using VW-1.0a/OW-4.1 on Solaris, I tried an old version of OW (2.5) on > Mac. One thing I did REALLY appreciate was the self documenting environment. > Indeed almost each class and method from the standard ST environment was > commented and all formal arguments had clear names. Also, the explain > command was very helpful. On Sun, I had the nasty surprise to see that formal > parameters are now all named t1, t2, t3, ... and that there are no more comments. > This is very bad news!! So my question is: did I miss some crucial point when > installing VW/OW or is it just a new product policy from ParcPlace? I would be > very interested to hear from other people having the same problem and from > someone working at PP. I'm sorry to say, but it's your own fault. And you are not alone in making this mistake (see previous postings to this newsgroup). What happens is this: In ParcPlace Smalltalk (OW/VW), the source of all code in the image is kept in two files: the sources file (containing the code of the basic classes provided with the installation) and the changes file (with all the changes and additions you made to the originally installed sources). When you are browsing code, the System Browser (or anything else you use to browse) looks in the global variable SourceFiles to find the sources and changes files. If these are present, you will see the code as it was originally entered, with nice argument names, with comments etc. If the entries in SourceFiles refer to non-existent files, or if they are nil, then the code is reconstructed from the bytecode. Obviously, no names and no comments can be reconstructed. That's were the t1, t2, ... come from. What you should do is open a System Workspace (which contains hints to change the SourceFiles global) or open an Inspector on SourceFiles rightaway. Then make sure that these variables point to existing files. You have to take care that the set of sources file, changes file and image file are belonging together. Using a changes file from a different project leads to _really_strange_ effects! Arno Breunese, Control Laboratory, Department of Electrical Engineering, University of Twente, PO Box 217, 7500 AE Enschede, The Netherlands e-mail bne@rt.el.utwente.nl --- 4.4)+ What happened to >>deepCopy in ParcPlace Smalltalk? Newsgroups: comp.lang.smalltalk From: eanv20@castle.ed.ac.uk (John Woods) Subject: Re: deepCopy in St80 4.1 Organization: Edinburgh University Date: Fri, 3 Dec 1993 10:55:31 GMT piplani@rainbow.ecn.purdue.edu (Rajesh Piplani) writes: >To all the smalltalk-80 gurus out there: >I need to make deep copy of an object. The book on smalltalk-80 >(The language) talks about the existence of this method >(deepCopy), but my installation on unix (release 4.1) does not >have it. Could somebody help me out? I basically need to copy an >object with its own instance variables. >Raj deepCopy was removed from 4.1 because of problems (cyclic dependencies and other things broke it). You can file it in from the backward compatability files in the distribution. Or you can implement your own method --- a couple of good-looking ones have been posted here recently. Check the archives. ... John Woods ** Newsgroups: comp.lang.smalltalk From: dcr0@speedy.gte.com (Dave Robbins) Subject: Re: deepCopy in St80 4.1 Reply-To: drobbins@gte.com Organization: GTE Laboratories Incorporated Date: Fri, 3 Dec 1993 21:01:52 GMT I would suggest implementing a postCopy method in the class whose instance variables need to be copied. Object>shallowCopy invokes postCopy after completing the basic copying; code in postCopy can then make copies of the instance variables: postCopy super postCopy. instanceVariable1 := instanceVariable1 copy. instanceVariable2 := instanceVariable2 copy and so on. Browse all implementers of postCopy to see examples of how this is done in quite a few classes in the 4.1 image. The 4.1 Release Notes explain (pages 13 and 34) that deepCopy was removed, and why. In particular, note on page 34 the statement that deepCopy won't even be available as backward-compatibility code in the successor to 4.1. Dave Robbins GTE Laboratories Incorporated drobbins@gte.com 40 Sylvan Rd. ...!harvard!bunny!drobbins Waltham, MA 02254 --- 5.0) ["Vendor"-specific issues] --- 5.1) How compatible is GNU Smalltalk with Smalltalk-80 (or SmalltalkV)? From: sbb@laplace.eng.sun.com (Steve Byrne) Newsgroups: comp.lang.smalltalk Subject: Re: GNU Smalltalk Compatibility Date: 12 Dec 92 00:52:04 Organization: FSF hackers, Smalltalk division In article <1992Dec2.182201.11980@ntmtv> irvine@ntmtv.UUCP (Chuck Irvine) writes: How compatible is GNU Smalltalk with Smalltalk-80 (or SmalltalkV)? Just curious. Thanks This is probably in the FAQ list [it is now... --crl], but here goes anyway. GNU Smalltalk tries to be syntax compatible with the language described in the blue/purple book (ST-80: the Language*). I think the only discrepancy is that GNU Smalltalk doesn't allow block local temporary variables. Steve [Note, however, that the class library for GNU Smalltalk is very much in its infancy. Most importantly, it has little in the way of graphical user-interface classes. --crl] --- 5.2)* How do I contact producers of various Smalltalk implementations? Answer: Newsgroups: comp.lang.smalltalk From: mjb@netcom.com (Martin Brown) Subject: FYI: new Digitalk addresses Organization: NETCOM On-line Communication Services (408 241-9760 guest) Date: Tue, 21 Sep 1993 09:10:44 GMT Digitalk: Effective Monday, September 20, all Digitalk departments EXCEPT development, support and documentation have moved to brand-new, shining corporate offices in Orange County, CA. The new address and phone: Digitalk, Inc. 5 Hutton Center Santa Ana, CA 92707-5754 714-513-3000 (phone) 714-513-3100 (fax) Digitalk also has offices in Portland, Chicago and New York. The numbers are: Digitalk Portland (training, consulting) 503-691-0800 (phone) 503-691-2742 (fax) Digitalk Chicago (sales) 312-444-2065 (phone) 312-641-3096 (fax) Digitalk New York (sales) 212-808-3068 (phone) 212-808-3020 (fax) [message ends] ParcPlace: ParcPlace information may be reached at info@parcplace.com. [feel free to contribute additional info --crl] --- 5.3)+ How can I get information about HP distributed Smalltalk? Newsgroups: comp.lang.smalltalk From: blank@faw.uni-ulm.de (Karlheinz Blank) Organization: FAW (Research Institute For Applied Knowledge Processing, Ulm, Germany) Date: Wed, 25 Aug 1993 07:10:34 GMT You can get information about HP-Distributed Smalltalk From: Public Relations Department 3000 Hanover Street Palo Alto, California 94304 (408) 447-5330 Karlheinz Blank, Research Institute for Applied Knowledge Processing Internet: BLANK@faw.uni-ulm.de --- 6.0) [Smalltalk implementation issues] --- 6.1) Is Smalltalk interpreted or compiled? [Be prepared for more material on this issue. I've got tons of it, staring at me at this very moment. I'm starting off with this one mainly because it's short... again, please feel free to submit. In particular, the whole issue of just what constitutes "interpreting" is still debated. --crl] From: khaw@parcplace.com Newsgroups: comp.lang.smalltalk Subject: Re: Smalltalk on PC/Compiling Date: 12 Jun 93 17:55:40 GMT Organization: ParcPlace Systems, Inc. [a poster who requests anonymity] writes: ... >>4 - Is there a SmallTalk compiler available for Dos? > Not as such... Smalltalk is a P-Machine ... >>6 - Is there such a thing as a SmallTalk compiler? >> > As I said above, it's a P-Machine, not exactly a compiler. ... The term "P-machine" implies that Smalltalk implementations interpret pseudo-code. In the first place, interpretation/compilation is not a language feature but rather an implementation choice. In the second place, ParcPlace Smalltalk does not interpret bytecode. What happens as a result of a message send in ParcPlace Smalltalk is: - first the system checks to see if the method has already been translated to machine code that has been cached in memory - if the native machine code form is in the cache, the system executes that machine code - if the cache doesn't contain a translated form of the method, the system dynamically compiles the method's bytecode into native machine code, storing into the cache, and then executes the code from the cache. Dynamic translation yields the benefits of the execution speed of compiled code and the space compactness of bytecode. If all the code in a running Smalltalk image were kept purely in the form of compiled machine code, the image would consume 5-10 times as much memory, and therefore could in fact degrade performance on a virtual memory system by causing increased paging. -- Michael Khaw khaw@parcplace.com (or khaw%parcplace.com@netcom.com) ParcPlace Systems, Sunnyvale, CA PRODUCT INFO: info@parcplace.com --- End of Smalltalk FAQ -- ----------------------------------------------------------------------------- Craig R. Latta | Experimental Computing Facility, UC Berkeley (XCF) Composer and | Atari Games Audio Group <Latta@AGames.COM> Computer Scientist | The NetJam Project <NetJam-request@XCF> Craig.Latta@NetJam.ORG | The Smallmusic Project <Smallmusic-request@XCF> (standard disclaimer) | Biggles' Home for the Oversubscribed (wanna join?) -----------------------------------------------------------------------------